package com.one.rope.mvp.web.common.dto.user.business;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.one.rope.mvp.basecore.util.StringUtils;
import com.one.rope.mvp.web.common.cache.GlobalCacheDataObject;
import com.one.rope.mvp.web.common.dto.admin.partner.IncentiveItemDetailVO;
import com.one.rope.mvp.web.common.dto.admin.team.TeamMemberDetailVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;
import lombok.Data;

/**
 * <p>
 * 合伙人岗位详情返回参数
 * <p>
 *
 * @author ： Weijian.Liu
 * @date ： 2020/3/17 23:32
 */
@Data
@ApiModel
public class PartnerDetailVO {

  @ApiModelProperty(value = "合伙人岗位id")
  private Long id;

  @ApiModelProperty(value = "合伙人类型(1：事业合伙人 2：资金合伙人 3：顾问合伙人 4：资源合伙人)")
  @JsonProperty("partner_type")
  private Integer partnerType;

  @ApiModelProperty(value = "省编码")
  @JsonProperty("province_code")
  private String provinceCode;

  @ApiModelProperty(value = "市编码")
  @JsonProperty("city_code")
  private String cityCode;

  @ApiModelProperty(value = "工作形态(1：全职 2：兼职 3：外包)")
  @JsonProperty("work_form")
  private Integer workForm;

  @ApiModelProperty(value = "岗位名称")
  private String name;

  @ApiModelProperty(value = "需求描述")
  @JsonProperty("require_desc")
  private String requireDesc;

  @ApiModelProperty(value = "教育资质(1：大专以下 \n"
      + "2：大专 \n"
      + "3：本科 \n"
      + "4：硕士 \n"
      + "5：博士)")
  @JsonProperty("education_aptitude")
  private Integer educationAptitude;

  @ApiModelProperty(value = "激励方案")
  @JsonProperty("incentive_list")
  private List<IncentiveItemDetailVO> incentiveList;

  @ApiModelProperty(value = "所属项目")
  private ProjectDetailVO project;

  @ApiModelProperty(value = "核心团队成员列表")
  @JsonProperty("team_member_list")
  private List<TeamMemberDetailVO> teamMemberList;

  @ApiModelProperty(value = "省名称")
  @JsonProperty("province_name")
  public String getProvinceName() {
    if (!StringUtils.isNullOrEmpty(provinceCode)) {
      return GlobalCacheDataObject.getArea(provinceCode).getAreaName();
    }
    return "";
  }

  @ApiModelProperty(value = "市名称")
  @JsonProperty("city_name")
  public String getCityName() {
    if (!StringUtils.isNullOrEmpty(cityCode)) {
      return GlobalCacheDataObject.getArea(cityCode).getAreaName();
    }
    return "";
  }

  @ApiModelProperty(value = "企业估值")
  @JsonProperty("company_value")
  private Integer companyValue;

  @ApiModelProperty(value = "企业估值币种(1：人名币 2：美元)")
  @JsonProperty("value_currency")
  private Integer valueCurrency;

  @ApiModelProperty(value = "企业名称")
  @JsonProperty("company_name")
  private String companynName;

  @ApiModelProperty(value = "融资阶段1：种子轮 2：天使轮 3：A轮 4：B轮 5：C轮 6：D轮 7：D轮以上 8：IPO计划 9：已上市")
  @JsonProperty("finance_stage")
  private Integer financeStage;

  @ApiModelProperty(value = "成员规模1：1-10人 2：10-50人 3：50-100人 4：100人以上")
  @JsonProperty("member_scale")
  private Integer memberScale;

  @ApiModelProperty(value = "评估机构")
  @JsonProperty("valuation_org")
  private String valuationOrg;
}
